// pages/goods_list/goods_list.js
import {
  request
} from '../../request/request'
import regeneratorRuntime from '../../lib/runtime/runtime';

Page({

  /**
   * 页面的初始数据
   */
  data: {
    tabData: [{
      id: 0,
      value: '综合',
      active: true
    }, {
      id: 1,
      value: '销量',
      active: false
    }, {
      id: 2,
      value: '价格',
      active: false
    }],
    goodsListData: []
  },
  // 请求商品列表的请求参数
  goodsListQuery: {
    query: '',
    cid: '',
    pagenum: 1,
    pagesize: 10
  },
  // 商品总数
  total: 0,
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(options);
    this.goodsListQuery.cid = options.cid || ''
    this.goodsListQuery.query = options.query || ''
    this.getGoodsList()
  },
  // 获取商品列表数据
  async getGoodsList() {
    // console.log(this.goodsListQuery);
    const res = await request({
      url: '/goods/search',
      data: this.goodsListQuery
    })
    // console.log(res);
    this.total = res.message.total
    this.setData({
      goodsListData: [...this.data.goodsListData, ...res.message.goods]
    })
  },
  // 标题点击事件 从子组件传递过来
  handleItemTap(e) {
    // console.log(e);
    let {
      index
    } = e.detail
    let {
      tabData
    } = this.data
    tabData.forEach(item => item.id === index ? item.active = true : item.active = false)
    this.setData({
      tabData
    })

  },
  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    // console.log('上啦');
    let {
      pagenum,
      pagesize
    } = this.goodsListQuery
    // console.log(pagenum);
    if (pagenum > Math.ceil(this.total / pagesize)) {
      wx.showToast({
        title: '没有下一页',
        icon: 'success',
        duration: 2000
      })
    } else {
      this.goodsListQuery.pagenum = pagenum + 1
      this.getGoodsList()
    }
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
   onPullDownRefresh: function () {
    // 重置数组
    this.setData({
      goodsListData: []
    })
    // 重置页码
    this.goodsListQuery.pagenum = 1
    // 重新发送请求
    this.getGoodsList()
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },



  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})